package cn.kgc.smbms.dao;

import cn.kgc.smbms.projo.User;
import cn.kgc.smbms.projo.UserExt;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface UserMapper {


    //登陆验证
    User selectUserByLogin(@Param("userCode") String userCode, @Param("userPassword") String userPassword);

    //根据ID查询
    User selectUserById(String id);

    //根据用户名模糊和用户角色查询
    List<UserExt> selectUserLike(User user);

    //懒加载信息，首先查询用户信息，然后鼠标点击之后加载角色信息
    List<UserExt> selectLazyAllUser();

    int insertUser(User user);

    //条件查询总条数
    int userCount(@Param("userName") String userName, @Param("userRole") String userRole);

    //根据用户名和角色多条件分页查询
    List<UserExt> selectUserLikeMoreValue(@Param("userName") String userName, @Param("userRole") String userRole
                                          );

    //查询全部条数
    int selectAllUserCount();

    //查询全部记录数
    List<UserExt> selectAll( @Param("pageNo") int pageNo, @Param("pageSize") int pageSize);
}
